﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;

namespace FlyShop
{
    public partial class FrmRelatorioVendas : Form
    {
        public FrmRelatorioVendas()
        {
            InitializeComponent();
        }

        private void FrmRelatorioVendas_Load(object sender, EventArgs e)
        {
            // Da load na tabela 'ds_RelatorioVendas.DataTable1' nelas contem o comando sql para consulta do relatório
            this.DataTable1TableAdapter.Fill(this.ds_RelatorioVendas.DataTable1);

            this.reportViewer1.RefreshReport();
        }

        private void btFiltra_Click(object sender, EventArgs e)
        {
            String voo = txtVoo.Text.Trim();
            String usuario = txtUsuario.Text.Trim();

            if (voo.Length > 1 && usuario.Length > 3 && cbCancelada.Checked == true) // verifica se os 3 campos estão com dados e selecionados.
            {
                this.DataTable1TableAdapter.FillBy4(this.ds_RelatorioVendas.DataTable1, txtVoo.Text + "%", txtUsuario.Text + "%");

                this.reportViewer1.RefreshReport();
            }
            else
                if (voo.Length > 1 && usuario.Length < 1 && cbCancelada.Checked == true) // verifica se os campos voo com dados e checkbox estão selecionados
                {
                    this.DataTable1TableAdapter.FillBy5(this.ds_RelatorioVendas.DataTable1, txtVoo.Text + "%");

                    this.reportViewer1.RefreshReport();
                }
                else
                    if (voo.Length < 1 && usuario.Length > 3 && cbCancelada.Checked == true) // verifica se os campos usuario com dados e checkbox estão selecionados
                    {
                        this.DataTable1TableAdapter.FillBy6(this.ds_RelatorioVendas.DataTable1, txtUsuario.Text + "%");

                        this.reportViewer1.RefreshReport();
                    }
                    else
                        if (voo.Length > 1 && usuario.Length > 3)  // verifica se os campos voo e usuario estão com dados
                        {
                            this.DataTable1TableAdapter.FillBy3(this.ds_RelatorioVendas.DataTable1, txtVoo.Text + "%", txtUsuario.Text + "%");

                            this.reportViewer1.RefreshReport();
                        }
                        else
                            if (voo.Length > 1)// verifica se o campo voo está com dados
                            {
                                this.DataTable1TableAdapter.FillBy(this.ds_RelatorioVendas.DataTable1, txtVoo.Text + "%");

                                this.reportViewer1.RefreshReport();
                            }
                            else
                                if (voo.Length < 1 && usuario.Length > 3) // verifica se o campo usuario está com dados
                                {
                                    this.DataTable1TableAdapter.FillBy1(this.ds_RelatorioVendas.DataTable1, txtUsuario.Text + "%");

                                    this.reportViewer1.RefreshReport();
                                }
                                else
                                    if (voo.Length < 1 && usuario.Length < 1 && cbCancelada.Checked == true) // verifica se o apenas o checkbox está selecionado
                                    {
                                        this.DataTable1TableAdapter.FillBy2(this.ds_RelatorioVendas.DataTable1);

                                        this.reportViewer1.RefreshReport();
                                    }
                                    else
                                        if (voo.Length < 1 && usuario.Length < 1 && cbCancelada.Checked == false) // nenhum campo com dados
                                        {
                                            this.DataTable1TableAdapter.Fill(this.ds_RelatorioVendas.DataTable1);

                                            this.reportViewer1.RefreshReport();
                                        }
        }

        private void btLimpar_Click(object sender, EventArgs e)
        {
            // Limpa a pesquisa para a padrão
            this.DataTable1TableAdapter.Fill(this.ds_RelatorioVendas.DataTable1);

            this.reportViewer1.RefreshReport();

            txtUsuario.Text = "";
            txtVoo.Text = "";
            cbCancelada.Checked = false;
        }

        private void txtVoo_KeyPress(object sender, KeyPressEventArgs e)
        {
            // Executa o comando com a Tecla Enter
            if (e.KeyChar == 13)
                btFiltra_Click(sender, e);
        }

        private void txtUsuario_KeyPress(object sender, KeyPressEventArgs e)
        {
            // Executa o comando com a Tecla Enter
            if (e.KeyChar == 13)
                btFiltra_Click(sender, e);
        }

        private void FrmRelatorioVendas_KeyDown(object sender, KeyEventArgs e)
        {
            //Hotkey para a tecla ESC fechar a janela
            if (e.KeyData == (Keys.Escape))
            {
                this.Close();
            }
        }
    }
}
